package br.com.abelha.manager;

import java.util.Calendar;
import java.util.Date;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.RadioButton;
import android.widget.TextView;
import br.com.abelha.manager.db.DAOFichaB;
import br.com.abelha.manager.entity.FichaBDIA;
import br.com.abelha.manager.entity.Pessoa;


public class FichaBDiabete extends Activity {
	
	TextView dataConsulta;
	RadioButton radioDieta, radioexercicios, radioinsulina,radiohipogliecemiante;

	private int year, month, day;
	
	Pessoa pessoa;
	Button pickDate;
	Button salvar, cancelar;
	
	private OnClickListener listenerSalvar = new OnClickListener() {
		public void onClick(View v) {
			
			if(!camposNulosENaoPreenchidos()){
				salvarFichaDibete();
				AlertDialog.Builder builder = new AlertDialog.Builder(FichaBDiabete.this);
		    	builder.setTitle("PFS");
		    	builder.setMessage("Ficha Diabete Salva com sucesso");
		    	builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {  
				      public void onClick(DialogInterface dialog, int which) {  
				       retorneAEscolha();
				    } });
		    	
		    	builder.show();
				
				
			}else{
				exibirMensagem("PFS", "Favor preencher todos os campos");
			}
		}

	};
	private OnClickListener listenerCancelar = new OnClickListener() {
		public void onClick(View v) {
			Intent i = new Intent(FichaBDiabete.this, MenuFichas.class);
	 		startActivity(i);
		}

	};
	
	public void onCreate(Bundle savedInstanceState) {

		super.onCreate(savedInstanceState);
		setContentView(R.layout.ficha_diabete);

		
		pessoa = (Pessoa) getIntent().getSerializableExtra("br.com.abelha.manager.entity.Pessoa");
		
		dataConsulta = (TextView) findViewById(R.id_diabete.id_date_consulta);
		
		radioDieta = (RadioButton) findViewById(R.id.dieta_1);
		radioexercicios = (RadioButton) findViewById(R.id.exercicios_1);
		radioinsulina = (RadioButton) findViewById(R.id.insulina_1);
		radiohipogliecemiante = (RadioButton) findViewById(R.id.hipogliecemiante_1);

		final Calendar cal = Calendar.getInstance();
		year = cal.get(Calendar.YEAR);
		month = cal.get(Calendar.MONTH);
		day = cal.get(Calendar.DAY_OF_MONTH);
		
		dataConsulta.setText(new StringBuilder().append(day).append('-')
				.append(month + 1).append('-').append(year));
		
		salvar = (Button) findViewById(R.id.Button_Save);
		cancelar = (Button) findViewById(R.id.Button_Cancelar);

		salvar.setOnClickListener(listenerSalvar);
		cancelar.setOnClickListener(listenerCancelar);

		pickDate = (Button) findViewById(R.id.id_date_consulta_button);
		pickDate.setOnClickListener(new OnClickListener() {

				@Override
				public void onClick(View v) {
					showDialog(1);
				}

			});

		}
	
	public boolean camposNulosENaoPreenchidos(){
		
	
		
		return false;
	}
	
	protected void retorneAEscolha() {
		Intent i = new Intent(FichaBDiabete.this, MenuFichas.class);
 		startActivity(i);
		
	}

	public void exibirMensagem(String titulo, String mensagem){
		AlertDialog.Builder builder = new AlertDialog.Builder(this);
    	builder.setTitle(titulo);
    	builder.setMessage(mensagem);
    	builder.setNeutralButton("OK", null);
    	builder.show();
	}

	protected void salvarFichaDibete() {

		DAOFichaB<FichaBDIA> daoFichaB = new DAOFichaB<FichaBDIA>(this);
		FichaBDIA FichaBDIA = new FichaBDIA();
		
		try {
			
			FichaBDIA.setId_fichaA(pessoa.getId_fichaA());
			FichaBDIA.setId_paciente(pessoa.getId());
			
			
			
			String dieta = "Nao";
			if(radioDieta.isChecked()){
				dieta = "Sim";
			}
			
			FichaBDIA.setDieta(dieta);
			
			String exercicios = "Nao";
			if(radioexercicios.isChecked()){
				exercicios = "Sim";
			}
			
			FichaBDIA.setExercicios(exercicios);
			
			 ;
			String insulina = "Nao";
			if(radioinsulina.isChecked()){
				insulina = "Sim";
			}
			
			FichaBDIA.setInsulina(insulina);
			
			
			String hipogliecemiante = "Nao";
			if(radiohipogliecemiante.isChecked()){
				hipogliecemiante = "Sim";
			}
			
			FichaBDIA.setHipoglicemante(hipogliecemiante);
			
			FichaBDIA.setDt_ultimaconsulta(dataConsulta.getText().toString());
					
			FichaBDIA.setData_cadastro(dataConsulta.getText().toString());
			
			daoFichaB.delete(FichaBDIA);
			daoFichaB.insert(FichaBDIA);
			
			/**
			 *  
			 *  Teste de Busca de fichaBCrianca
			 *   
			 * 	fichaBCrianca.setId(1);
			 *	daoFichaB.get(fichaBCrianca);
			 *	System.out.println(fichaBCrianca);
			 *
			 */
			
			
		} catch (Throwable e) {
			e.printStackTrace();
		}
		
		
	}

	protected Dialog onCreateDialog(int id) {
		switch (id) {
		case 1:
			return new DatePickerDialog(this, dateListener, year, month, day);

		}
		return null;

	}

	private DatePickerDialog.OnDateSetListener dateListener = new DatePickerDialog.OnDateSetListener() {

		@Override
		public void onDateSet(DatePicker view, int yr, int monthOfYear,
				int dayOfMonth) {
			year = yr;
			month = monthOfYear;
			day = dayOfMonth;
			updateDate();
		}
	};

	private void updateDate() {
		dataConsulta.setText(new StringBuilder().append(day).append('-')
				.append(month + 1).append('-').append(year));

	}
}
